'''
  案例9.17：使用自定义爬虫模块easySpider爬取经管之家论坛最新主题板块所有主题列表
'''

#目标网址：https://bbs.pinggu.org/z_index.php?type=1&page=num
#1.导入easySpider类
import easySpider,re
#2.实例化easySpider，根据url分页构造循环爬取网页内容
ForumTopic={}
#3.设定分页总数为38，循环爬取
for num in range(1,39):
    #构造分页的url地址
    url = 'https://bbs.pinggu.org/z_index.php?type=1&page={}'.format(num)
    #实例化爬虫模块
    jgForum = easySpider.Spider(url=url)
    #调用jgForum对象的爬虫方法，给定css选择器组合爬取目标内容
    # 主题列表标题的选择器路径为：div.tl tr th
    TopicList = jgForum.beautifulsoup_getTarget(selector='div.tl tr th')
    # 主题列表版块的选择器路径为：div.tl tr td:nth-child(3)
    panelList = jgForum.beautifulsoup_getTarget(selector='div.tl tr td:nth-child(3)')
    # 主题列表评论回复的选择器路径为：div.tl tr td.num
    reviewList = jgForum.beautifulsoup_getTarget(selector='div.tl tr td.num')
    # 主题列表最后回复的选择器路径为：div.tl tr td.by
    LastList = jgForum.beautifulsoup_getTarget(selector='div.tl tr td.by')
    # 对每一页建一个空字典，将每行内容连接到一起存入字典
    currentPageTopic={}
    for i in range(0,len(LastList)):
        LastList[i]=re.sub('\s','',LastList[i])
        currentPageTopic[i]=TopicList[i]+";"+panelList[i]+";"+reviewList[i]+";"+LastList[i]
    # 保存当前页所有主题为一个字典
    ForumTopic[num]=currentPageTopic

#4.查看所有爬取结果
for item in ForumTopic.keys():
    print("第{}页内容为{}".format(item,ForumTopic[item]))